package br.com.single.modelo.estoque;

import java.util.Date;

import br.com.single.modelo.adm.Adusuari;
import br.com.single.publico.Cdalmoxa;
import br.com.single.publico.Cdccusto;
import br.com.single.publico.Cdfilial;
import javax.persistence.Column;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;

import org.joda.time.DateTime;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.roo.addon.dbre.RooDbManaged;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
import org.springframework.roo.addon.tostring.RooToString;
import org.springframework.test.annotation.Timed;

@RooJavaBean
@RooToString
@RooJpaActiveRecord(versionField = "", table = "mvmovimeestoqu", schema = "estoque")
@RooDbManaged(automaticallyDelete = true)
public class Mvmovimeestoqu {

	@OneToOne(mappedBy = "mvmovimeestoqu")
    private Mvfrete mvfrete;

	@OneToOne(mappedBy = "mvmovimeestoqu")
    private Mvimpost mvimpost;

	@OneToOne(mappedBy = "mvmovimeestoqu")
    private Mvmovimecompra mvmovimecompra;

	@OneToOne(mappedBy = "mvmovimeestoqu")
    private Mvmovimevenda mvmovimevenda;

	@OneToOne(mappedBy = "mvmovimeestoqu")
    private Mvnotafiscal mvnotafiscal;

	@OneToOne(mappedBy = "mvmovimeestoqu")
    private Mvvolume mvvolume;

	@ManyToOne
    @JoinColumn(name = "usuarilancam", referencedColumnName = "login", nullable = false,columnDefinition="usuari")
    private Adusuari usuarilancam;

	@ManyToOne
    @JoinColumns({ @JoinColumn(name = "filial", referencedColumnName = "codigofilial", nullable = false, insertable = false, updatable = false,columnDefinition="codigonumero"), @JoinColumn(name = "almoxa", referencedColumnName = "codigoalmoxa", nullable=false,insertable = false, updatable = false,columnDefinition="codigonumero") })
    private Cdalmoxa cdalmoxa;

	@ManyToOne
    @JoinColumns({ @JoinColumn(name = "filial", referencedColumnName = "codigofilial", nullable = true, insertable = false, updatable = false,columnDefinition="codigonumero"), @JoinColumn(name = "ccusto", referencedColumnName = "codigoccusto", insertable = false, updatable = false,columnDefinition="codigonumero") })
    private Cdccusto cdccusto;

	@ManyToOne
    @JoinColumn(name = "filial", referencedColumnName = "codigofilial", nullable = false, insertable = false, updatable = false)
    private Cdfilial filial;

	@Column(name = "datacontab",columnDefinition="data")
	@DateTimeFormat(style="M-")
    @NotNull
    private Date datacontab;

	@Column(name = "tipomovime", length = 2,columnDefinition="bpchar")
    @NotNull
    private String tipomovime;

	@Column(name = "numeroprodut")
    private Integer numeroprodut;

	@Column(name = "quantiprodut",columnDefinition="valorsimple")
    private String quantiprodut;

	@Column(name = "valorprodut",columnDefinition="valorsimple")
    private String valorprodut;

	@Column(name = "numeroservic",columnDefinition="int4")
    private Integer numeroservic;

	@Column(name = "quantiservic",columnDefinition="valorsimple")
    private String quantiservic;

	@Column(name = "valorservic",columnDefinition="valorsimple")
    private String valorservic;

	@Column(name = "valormovime",columnDefinition="valorsimple")
    private String valormovime;

	@Column(name = "valorliquid",columnDefinition="valorsimple")
    private String valorliquid;

	@Column(name = "statusmovime",columnDefinition="status")
    private String statusmovime;

	@Column(name = "datacaixa",columnDefinition="data")
    private Date datacaixa;

	@Column(name = "numerocaixa",columnDefinition="int4")
    private Integer numerocaixa;

	@Column(name = "empresfiscal",columnDefinition="empres")
    private String empresfiscal;

	@Column(name = "origem",columnDefinition="importexport")
    private String origem;

	@Column(name = "horalancam",columnDefinition="datahora")
	@DateTimeFormat(style="M-")
    @NotNull
    private Date horalancam;

	public Mvfrete getMvfrete() {
        return mvfrete;
    }

	public void setMvfrete(Mvfrete mvfrete) {
        this.mvfrete = mvfrete;
    }

	public Mvimpost getMvimpost() {
        return mvimpost;
    }

	public void setMvimpost(Mvimpost mvimpost) {
        this.mvimpost = mvimpost;
    }

	public Mvmovimecompra getMvmovimecompra() {
        return mvmovimecompra;
    }

	public void setMvmovimecompra(Mvmovimecompra mvmovimecompra) {
        this.mvmovimecompra = mvmovimecompra;
    }

	public Mvmovimevenda getMvmovimevenda() {
        return mvmovimevenda;
    }

	public void setMvmovimevenda(Mvmovimevenda mvmovimevenda) {
        this.mvmovimevenda = mvmovimevenda;
    }

	public Mvnotafiscal getMvnotafiscal() {
        return mvnotafiscal;
    }

	public void setMvnotafiscal(Mvnotafiscal mvnotafiscal) {
        this.mvnotafiscal = mvnotafiscal;
    }

	public Mvvolume getMvvolume() {
        return mvvolume;
    }

	public void setMvvolume(Mvvolume mvvolume) {
        this.mvvolume = mvvolume;
    }

	public Adusuari getUsuarilancam() {
        return usuarilancam;
    }

	public void setUsuarilancam(Adusuari usuarilancam) {
        this.usuarilancam = usuarilancam;
    }

	public Cdalmoxa getCdalmoxa() {
        return cdalmoxa;
    }

	public void setCdalmoxa(Cdalmoxa cdalmoxa) {
        this.cdalmoxa = cdalmoxa;
    }

	public Cdccusto getCdccusto() {
        return cdccusto;
    }

	public void setCdccusto(Cdccusto cdccusto) {
        this.cdccusto = cdccusto;
    }

	public Cdfilial getFilial() {
        return filial;
    }

	public void setFilial(Cdfilial filial) {
        this.filial = filial;
    }

	public Date getDatacontab() {
        return datacontab;
    }

	public void setDatacontab(Date datacontab) {
        this.datacontab = datacontab;
    }

	public String getTipomovime() {
        return tipomovime;
    }

	public void setTipomovime(String tipomovime) {
        this.tipomovime = tipomovime;
    }

	public Integer getNumeroprodut() {
        return numeroprodut;
    }

	public void setNumeroprodut(Integer numeroprodut) {
        this.numeroprodut = numeroprodut;
    }

	public String getQuantiprodut() {
        return quantiprodut;
    }

	public void setQuantiprodut(String quantiprodut) {
        this.quantiprodut = quantiprodut;
    }

	public String getValorprodut() {
        return valorprodut;
    }

	public void setValorprodut(String valorprodut) {
        this.valorprodut = valorprodut;
    }

	public Integer getNumeroservic() {
        return numeroservic;
    }

	public void setNumeroservic(Integer numeroservic) {
        this.numeroservic = numeroservic;
    }

	public String getQuantiservic() {
        return quantiservic;
    }

	public void setQuantiservic(String quantiservic) {
        this.quantiservic = quantiservic;
    }

	public String getValorservic() {
        return valorservic;
    }

	public void setValorservic(String valorservic) {
        this.valorservic = valorservic;
    }

	public String getValormovime() {
        return valormovime;
    }

	public void setValormovime(String valormovime) {
        this.valormovime = valormovime;
    }

	public String getValorliquid() {
        return valorliquid;
    }

	public void setValorliquid(String valorliquid) {
        this.valorliquid = valorliquid;
    }

	public String getStatusmovime() {
        return statusmovime;
    }

	public void setStatusmovime(String statusmovime) {
        this.statusmovime = statusmovime;
    }

	public Date getDatacaixa() {
        return datacaixa;
    }

	public void setDatacaixa(Date datacaixa) {
        this.datacaixa = datacaixa;
    }

	public Integer getNumerocaixa() {
        return numerocaixa;
    }

	public void setNumerocaixa(Integer numerocaixa) {
        this.numerocaixa = numerocaixa;
    }

	public String getEmpresfiscal() {
        return empresfiscal;
    }

	public void setEmpresfiscal(String empresfiscal) {
        this.empresfiscal = empresfiscal;
    }

	public String getOrigem() {
        return origem;
    }

	public void setOrigem(String origem) {
        this.origem = origem;
    }

	public Date getHoralancam() {
        return horalancam;
    }

	public void setHoralancam(Date horalancam) {
        this.horalancam = horalancam;
    }
}
